;; Symbol procedures examples

;; Creating a symbol from a string
(define sym (string->symbol "hello"))
(display "Created symbol: ")
(display sym)
(newline)

;; Check if it's a symbol
(display "Is it a symbol? ")
(display (symbol? sym))
(newline)

;; Convert symbol back to string
(define str (symbol->string sym))
(display "Converted back to string: ")
(display str)
(newline)

;; Creating another symbol
(define sym2 (string->symbol "world"))
(display "Second symbol: ")
(display sym2)
(newline)

;; Check that two symbols created from the same string are the same
(define sym3 (string->symbol "hello"))
(display "Are sym and sym3 the same symbol? ")
(display (eq? sym sym3))
(newline)

;; Symbols with special characters
(define special-sym (string->symbol "hello-world"))
(display "Special symbol: ")
(display special-sym)
(newline)
(display "As string: ")
(display (symbol->string special-sym))
(newline)